package insight.sm.dao;


import java.util.List;

public interface IGenericDAO<T> {

	public T findById(Class<T> T, int id);

	public void update(T object);

	public int delete(Class<T> T,int id);

	public int deleteAll(Class<T> T);

	public void save(T instance);

	public List<T> getList(Class<T> entity);
	
	public List<String> getMetadata(Class<T> entity);
	
	public List<String> getColumnHeader(Class<T> entity);
	
	
	public List<T> getListCustom(Class<T> entity,String customQuery);
	
	List<T> findByProperty(Class<T> entity, String paramName, Object value);
	
}
